//
//  JKSQLiteManger.swift
//  SwiftFMDB
//
//  Created by 王冲 on 2018/5/7.
//  Copyright © 2018年 希艾欧科技有限公司. All rights reserved.
//

import UIKit

class JKSQLiteManger: NSObject {

    // MARK: 1、单粒
    private static let manger: JKSQLiteManger = JKSQLiteManger()
    class func shareManger() -> JKSQLiteManger {
        
        return manger
    }
    
    // MARK: 2、（不安全的）数据库的创建&表的创建
    var db: FMDatabase?
    func openDB(DBName: String) {
        
        // 1.根据传入的数据库名称拼接数据库的路径
        let path = String.cacheDir()+"/\(DBName)"
        print("数据库的路径=\(path)")
        // 2.创建数据库对象
        db = FMDatabase(path: path)
        // 3.打开数据库
        // open方法特点:
        /**
            如果指定路径对应的数据库文件已经存在, 就会直接打开，否则， 就会创建一个新的
        */
        if !db!.open() {
            
            print("打开数据库失败")
            return
        }
        
        createTable()
    }
    
    // MARK: 3、创建表
    func createTable() {
        
        // 1.编写SQL语句
        let sql = "CREATE TABLE IF NOT EXISTS T_Person( \n" +
            "id INTEGER PRIMARY KEY AUTOINCREMENT, \n" +
            "name TEXT, \n" +
            "age INTEGER \n" +
        "); \n"
        
        // 2.执行SQL语句
        // 注意点: 在FMDB中除了查询意外, 都称之为更新
        if db!.executeUpdate(sql: sql, AnyObject.self as AnyObject){
            
            print("创建表成功")
        }else{
            print("创建表失败")
        }
    }

    
}
